1. Field of the Invention
The present invention generally relates to enhancements to the HyperText Markup Language (HTML) to tell a browser what to present to a user and what options are available to the user to interact with an application using specific audio commands. In addition, the invention allows a user to register a context sensitive command by dynamically building a resultant Uniform Resource Locator (URL) when the registered verbal command is recognized.
2. Background Description
European Patent Application EP 0 847 179 A2 to D. Mayer, entitled “System and Method for Voiced Interface With Hyperlinked Information”, describes a system that uses tones or other audible indicators to identify hypertext links and uses a sliding vocabulary as a page is being read. This allows a user to speak part or all of the most recently spoken hypertext link in order to follow it.
UK Patent Application GB 2 317 070 A to N. Butler et al., entitled “Voice Processing/Internet System”, describes a system where a standard markup is altered to allow the specification of voice commands. It does not, however, discuss the exploitation of audio context or the dynamic creation of Uniform Resource Locators (URL) to be followed based on the audio context.
The problem that exists in the prior art is the ability to interact verbally with an application. Current implementations have devices which will read the words on the page, but require keyboard entry of input or an elaborate method of input where the person must spell out what they want to type using specific code words for each letter of the alphabet, such as “alpha” for “a”, and so on. In prior art browsers, the application, browser and speech engine are all tightly linked together so that there is no generic solution or way one application can work with multiple browsers/speech engines.
The only way for an application using a current system to get information in context is to be running the application locally on the device reading the words and monitoring the reading. Typically, the reading software tells the application when it is finished reading each line of the text so that the application knows were the person was when context-sensitive input is presented to it. This is not desirable because of the storage requirements needed to download the application, and the degradation in performance caused by constant monitoring.
For example, consider the following source code where a document page contains a list of desserts of apples, peaches and pumpkin pie. There is also a second page, one for each dessert, detailing the caloric information for the chosen dessert. In a typical document, the author of the document would simply make each phrase in the list of desserts a hyperlink. This would allow a user to select (by, for example, clicking with a mouse, or using another tactile means) which link to follow and thus obtain the appropriate follow-on page.
<HTML> (1)
<BODY> (2)
<UL> (3)                <LI> (4)        <A HREF=“./calories/apples.ebml”>Apples</A> (5)        </LI> (6)        <LI> (7)        <A HREF=“./calories/peaches.ebml”>Peaches</A> (8)        </LI> (9)        <LI> (10)        <A HREF=“.calories/pumpkin-pie.ebml”>Pumpkin Pie</A> (11)        </LI> (12)        
</UL> (13)
</BODY> (14)
</HTML> (15)
Initial schemes to enable the page for voice input involved registering a specific command for each link to be followed. In the example specified above, the author would register three commands: “Apples”, “Peaches” and “Pumpkin Pie”. Each verbal command would then be associated with a specific URL to follow if it were recognized. This method may be acceptable for a small number of choices and in situations where it is not desirable to have a user use a common phrase to select a choice. This source code may appear as follows:
<HTML> (1)
<HEAD> (2)
//Registers three commands and the URL to associate with the command (3)
//if it is recognized by the speech engine. (4)
<META_VERBALCMD NAME=“Apples” URL=“./calories/apples.ebml”/> (5)
<META_VERBALCMD NAME=“Peaches” URL=“./calories/peaches.embl”/> (6)
<META_VERBALCMD NAME=“Pumpkin Pie” URL=“./calories/pumpkin-pie.ebml”/> (7)
</HEAD> (8)
<BODY> (9)
<UL> (10)                <LI> (11)        <A HREF=“./calories/apples.ebml”>Apples</A> (12)        </LI> (13)        <LI> (14)        <A HREF=“./calories/peaches.embl”>Peaches</A> (15)        </LI> (16)        <LI> (17)        <A HREF=“./calories/pumpkin-pie.ebml”>Pumpkin Pie</A> (18)        </LI> (19)        
</UL> (20)
</BODY> (21)
</HTML> (22)